package com.ruoyi.mes.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 生产物料跟踪管理对象 tb_production_material_tracking
 * 
 * @author ruoyi
 * @date 2025-01-09
 */
public class ProductionMaterialTracking extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 跟踪唯一标识 */
    private Long trackingId;

    /** 物料ID，外键关联物料表 */
    @Excel(name = "物料ID，外键关联物料表")
    private Long materialId;

    /** 生产订单ID，外键关联生产订单表 */
    @Excel(name = "生产订单ID，外键关联生产订单表")
    private Long productionOrderId;

    /** 使用数量 */
    @Excel(name = "使用数量")
    private BigDecimal usageQuantity;

    /** 使用时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "使用时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date usageTime;

    /** 跟踪状态 */
    @Excel(name = "跟踪状态")
    private String status;

    public void setTrackingId(Long trackingId) 
    {
        this.trackingId = trackingId;
    }

    public Long getTrackingId() 
    {
        return trackingId;
    }
    public void setMaterialId(Long materialId) 
    {
        this.materialId = materialId;
    }

    public Long getMaterialId() 
    {
        return materialId;
    }
    public void setProductionOrderId(Long productionOrderId) 
    {
        this.productionOrderId = productionOrderId;
    }

    public Long getProductionOrderId() 
    {
        return productionOrderId;
    }
    public void setUsageQuantity(BigDecimal usageQuantity) 
    {
        this.usageQuantity = usageQuantity;
    }

    public BigDecimal getUsageQuantity() 
    {
        return usageQuantity;
    }
    public void setUsageTime(Date usageTime) 
    {
        this.usageTime = usageTime;
    }

    public Date getUsageTime() 
    {
        return usageTime;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("trackingId", getTrackingId())
            .append("materialId", getMaterialId())
            .append("productionOrderId", getProductionOrderId())
            .append("usageQuantity", getUsageQuantity())
            .append("usageTime", getUsageTime())
            .append("status", getStatus())
            .toString();
    }
}
